<template>
  <div id="aCoursesList" class="bg-fa of">
    <!-- /课程详情 开始 -->
    <section class="container">
      <section class="path-wrap txtOf hLh30">
        <a href="#" title class="c-999 fsize14">首页</a>
        \
        <a href="#" title class="c-999 fsize14">{{ course.subjectLevelOne }}</a>
        \
        <span class="c-333 fsize14">{{ course.subjectLevelTwo }}</span>
      </section>
      <div>
        <article class="c-v-pic-wrap" style="height: 357px;">
          <section class="p-h-video-box" id="videoPlay">
            <img :src="course.cover" :alt="course.title" class="dis c-v-pic">
          </section>
        </article>
        <aside class="c-attr-wrap">
          <section class="ml20 mr15">
            <h2 class="hLh30 txtOf mt15">
              <span class="c-fff fsize24">{{ course.title }}</span>
            </h2>
            <section class="c-attr-jg">
              <span class="c-fff">价格：</span>
              <b class="c-yellow" style="font-size:24px;">￥{{ course.price }}</b>
            </section>
            <section class="c-attr-mt c-attr-undis">
              <span class="c-fff fsize14">主讲： {{ course.teacherName }}&nbsp;&nbsp;&nbsp;</span>
            </section>
            <section class="c-attr-mt of">
              <span class="ml10 vam">
                <em class="icon18 scIcon"></em>
                <a class="c-fff vam" title="收藏" href="#">收藏</a>
              </span>
            </section>
            <section class="c-attr-mt">
              <a v-if="isBuy == true" @click="goWatch" title="立即观看" class="comm-btn c-btn-3">立即观看</a>
              <a v-else href="#" title="立即购买" class="comm-btn c-btn-3" @click="buy">立即购买</a>
            </section>
          </section>
        </aside>
        <aside class="thr-attr-box">
          <ol class="thr-attr-ol clearfix">
            <li>
              <p>&nbsp;</p>
              <aside>
                <span class="c-fff f-fM">购买数</span>
                <br>
                <h6 class="c-fff f-fM mt10">{{ course.buyCount }}</h6>
              </aside>
            </li>
            <li>
              <p>&nbsp;</p>
              <aside>
                <span class="c-fff f-fM">课时数</span>
                <br>
                <h6 class="c-fff f-fM mt10">{{ course.lessonNum }}</h6>
              </aside>
            </li>
            <li>
              <p>&nbsp;</p>
              <aside>
                <span class="c-fff f-fM">浏览数</span>
                <br>
                <h6 class="c-fff f-fM mt10">{{ course.viewCount }}</h6>
              </aside>
            </li>
          </ol>
        </aside>
        <div class="clear"></div>
      </div>
      <!-- /课程封面介绍 -->
      <div class="mt20 c-infor-box">
        <article class="fl col-7">
          <section class="mr30">
            <div class="i-box">
              <div>
                <section id="c-i-tabTitle" class="c-infor-tabTitle c-tab-title">
                  <a name="c-i" class="current" title="课程详情">课程详情</a>
                </section>
              </div>
              <article class="ml10 mr10 pt20">
                <div>
                  <h6 class="c-i-content c-infor-title">
                    <span>课程介绍</span>
                  </h6>
                  <div class="course-txt-body-wrap">
                    <section class="course-txt-body">
                      <p>
                        {{ course.description }}
                      </p>
                    </section>
                  </div>
                </div>
                <!-- /课程介绍 -->
                <div class="mt50">
                  <h6 class="c-g-content c-infor-title">
                    <span>课程大纲</span>
                  </h6>
                  <section class="mt20">
                    <div class="lh-menu-wrap">
                      <menu id="lh-menu" class="lh-menu mt10 mr10">
                        <ul>
                          <!-- 文件目录 -->
                          <li class="lh-menu-stair" v-for="chapter in chapterVideoList" :key="chapter.id">
                            <a href="javascript: void(0)" :title="chapter.title" class="current-1">
                              <em class="lh-menu-i-1 icon18 mr10"></em>{{ chapter.title }}
                            </a>
                            <ol class="lh-menu-ol" style="display: block;">
                              <li class="lh-menu-second ml30" v-for="video in chapter.children" :key="video.id">
                                <a @click="toWatch(video)" title="在线教育视频播放">
                                  <span class="fr">
                                    <i class="free-icon vam mr10" v-if="video.isFree === 1">免费试听</i>
                                  </span>
                                  <em class="lh-menu-i-2 icon16 mr5">&nbsp;</em>{{ video.title }}
                                </a>
                              </li>
                            </ol>
                          </li>
                        </ul>
                      </menu>
                    </div>
                  </section>
                </div>
                <!-- /课程大纲 -->
              </article>
            </div>
          </section>
        </article>
        <aside class="fl col-3">
          <div class="i-box">
            <div>
              <section class="c-infor-tabTitle c-tab-title">
                <a title href="javascript:void(0)">主讲讲师</a>
              </section>
              <section class="stud-act-list">
                <ul style="height: auto;">
                  <li>
                    <div class="u-face">
                      <!-- "'/course/'+item.id" -->
                      <a :href="'/teacher/' + course.teacherId">
                        <img :src="course.avatar" width="50" height="50" :alt="course.teacherName">
                      </a>
                    </div>
                    <section class="hLh30 txtOf">
                      <a class="c-333 fsize16 fl" href="#">{{ course.teacherName }}</a>
                    </section>
                    <section class="hLh20 txtOf">
                      <span class="c-999">{{ course.intro }}</span>
                    </section>
                  </li>
                </ul>
              </section>
            </div>
          </div>
        </aside>
        <div class="clear"></div>
      </div>
    </section>
    <!-- /课程详情 结束 -->
    <div class="mt50 commentHtml" style="width: 70%; position: relative; left: 15%;">
      <div>
        <h6 class="c-c-content c-infor-title" id="i-art-comment">
          <span class="commentTitle">课程评论</span>
        </h6>
        <section class="lh-bj-list pr mt20 replyhtml">
          <ul>
            <li class="unBr">
              <aside class="noter-pic">
                <img width="50" height="50" class="picImg" :src="avatar"/>
              </aside>
              <div class="of">
                <section class="n-reply-wrap">
                  <fieldset>
                    <textarea name="" v-model="comment.content" placeholder="在此留下您的想法 ヽ(✿゜▽゜)ノ"
                              id="commentContent"></textarea>
                  </fieldset>
                  <p class="of mt5 tar pl10 pr10">
                    <span class="fl"><tt class="c-red commentContentmeg" style="display: none"></tt></span>
                    <input type="button" @click="insertComment()" value="评论" class="lh-reply-btn"/>
                  </p>
                </section>
              </div>
            </li>
          </ul>
        </section>
        <section class="">
          <section class="question-list lh-bj-list pr">
            <ul class="pr10">
              <li v-for="comment in data.records" :key="comment.id">
                <aside class="noter-pic">
                  <img width="50" height="50" class="picImg" :src="comment.avatar"/>
                </aside>
                <div class="of">
                  <span class="fl">
                    <font class="fsize12 c-blue">{{ comment.nickname }}</font>
                    <font class="fsize12 c-999 ml5">评论：</font>
                  </span>
                </div>
                <div class="noter-txt mt5">
                  <p>{{ comment.content }}</p>
                </div>
                <div class="of mt5">
                  <span class="fr">
                    <font class="fsize12 c-999ml5">{{
                        comment.gmtCreate
                      }}</font>
                  </span>
                </div>
              </li>
            </ul>
          </section>
        </section>
        <!-- 公共分页 开始 -->
        <div class="paging">
          <!-- undisable这个class是否存在，取决于数据属性hasPrevious -->
          <a :class="{ undisable: data.current == 1 }" href="#" title="首页" @click.prevent="gotoPage(1)">首</a>
          <a :class="{ undisable: data.current <= 1 }" href="#" title="前一页"
             @click.prevent="gotoPage(data.current - 1)">&lt;</a>
          <a v-for="page in data.pages" :key="page" :class="{
            current: data.current == page,
            undisable: data.current == page,
          }" :title="'第' + page + '页'" href="#" @click.prevent="gotoPage(page)">{{ page }}</a>
          <a :class="{ undisable: data.current >= data.pages }" href="#" title="后一页"
             @click.prevent="gotoPage(data.current + 1)">&gt;</a>
          <a :class="{ undisable: data.current == data.pages }" href="#" title="末页"
             @click.prevent="gotoPage(data.pages)">末</a>
          <div class="clear"/>
        </div>
        <!-- 公共分页 结束 -->
      </div>
    </div>
  </div>
</template>

<script>
import {getCourseInfo} from '@/api/course'
import {getCommentList, addComment} from '@/api/comment'
import {createOrder} from '@/api/order'
import cookie from 'js-cookie'
import {Loading} from 'element-ui';

export default {
  data() {
    return {
      page: 1,
      limit: 8,
      data: [],
      course: {
        courseId: ''
      },
      chapterVideoList: null,
      comment: {
        content: "",
        courseId: "",
        teacherId: "",
      },
      isBuy: false,
      avatar: "http://thirdwx.qlogo.cn/mmopen/vi_32/jJHyeM0EN2jhB70LntI3k8fEKe7W6CwykrKMgDJM4VZqCpcxibVibX397p0vmbKURGkLS4jxjGB0GpZfxCicgt07w/132"
    }
  },
  created() {
    let id = this.$route.params.id
    //查询课程详情信息
    getCourseInfo(id).then(response => {
      let data = response.data.data
      this.isBuy = data.isBuy
      this.course = data.course
      this.chapterVideoList = data.chapterVideoList
      this.getComment()
    })
  },
  mounted() {
    //从cookie获取用户信息  cookie中存放的都是str
    let userStr = cookie.get('userInfo')
    if (userStr == undefined || userStr == '') {
      return
    } else {
      let userInfo = JSON.parse(String(userStr))
      this.avatar = userInfo.avatar
    }
  },
  methods: {
    goWatch() {
      document.getElementById("lh-menu").scrollIntoView();
    },
    goBuy() {
      document.getElementById("aCoursesList").scrollIntoView();
    },
    getComment() {
      getCommentList(this.page, this.limit, this.course.id)
        .then((response) => {
          this.data = response.data.data;
        });
    },
    insertComment() {
      this.comment.courseId = this.course.id;
      this.comment.teacherId = this.course.teacherId;
      addComment(this.comment).then((response) => {
        this.$message({
          message: response.data.msg,
          type: "success",
        });
        this.comment.content = "";
        this.getComment();
      });
    },
    gotoPage(page) {
      getCommentList(page, this.limit, this.course.id).then((response) => {
        this.data = response.data.data;
      });
    },
    buy() {
      let loadingInstance = Loading.service({fullscreen: true});
      createOrder(this.course.id).then(resp => {
        loadingInstance.close()
        //获取返回订单号
        let msg = String(resp.data.msg)
        alert(msg)
        let orderNo = msg.split("'")[1]
        //跳转订单显示页面
        this.$router.push({path: '/order/' + orderNo})
      })
    },
    toWatch(video) {
      // 视频可试听或课程已购买时跳转播放页面
      if (video.isFree === 1 || this.isBuy === true) {
        //this.$router.push({ path: '/player/' + video.videoSourceId })
        let routeData = this.$router.resolve({path: '/player/' + video.videoSourceId + '_' + this.course.id})
        // 需要以该方式打开新页面，否则阿里云播放器不能直接加载出来，还需要用户手动刷新
        window.open(routeData.href, '_blank');
      } else {
        this.$confirm('此小节为收费课时, 是否请问购买该课程?', '提示', {
          confirmButtonText: '确定',
          cancelButtonText: '取消',
          type: 'info'
        }).then(() => {
          this.goBuy()
        }).catch(() => {
        });
      }
    }
  }
};
</script>
